package com.gluck.cases.app.biz.impl;

import com.gluck.cases.core.modal.dto.TestCaseDTO;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.IOException;
import java.util.List;

/**
 * @ClassName TestCaseService
 * @Desc
 * @Author shiyongzhe
 * @Date 2022/5/23 - 10:13 下午
 **/
public interface TestCaseService {

    /**
     * 功能描述: 获取所有接口信息，接口地址， 请求方式， 请求参数类型等
     * @Params [needTestPath]
     * @Return java.util.List<com.gluck.stock.oauth.core.modal.dto.TestCaseDTO>
     * @Author I`m Gluck
     * @Date 2022/5/24
     */
    List<TestCaseDTO> getAllApiData(List<String> needTestPath);

    /**
     * 功能描述: 下载测试用例excel
     * @Params [dtos]
     * @Return void
     * @Author I`m Gluck
     * @Date 2022/5/24
     */
    Workbook downloadTestCase2Excel(List<TestCaseDTO> dtos) throws IOException;

    /**
     * 功能描述: 根据Excel 导入测试用例
     * @Params []
     * @Return void
     * @Author I`m Gluck
     * @Date 2022/5/28
     */
    List<TestCaseDTO> importCasesExcel2List() throws IOException;

    /**
     * 功能描述: 导入测试用例进入数据库
     * @Params [dtos]
     * @Return boolean
     * @Author I`m Gluck
     * @Date 2022/5/28
     */
    boolean insertCases2Db(List<TestCaseDTO> dtos);

    /**
     * 功能描述: 记录测试用例记录
     * @Params [dtos]
     * @Return boolean
     * @Author I`m Gluck
     * @Date 2022/5/28
     */
    boolean insertCasesRecord(List<TestCaseDTO> dtos);
}
